____ _ _ _ _
| _ \ ___ | |_ (_) _ __ ___ __| | (_) __ _
| |_) | / _ \ | __| | | | '_ \ / _ \ / _| | | | / _ |
| _ < | __/ | |_ | | | |_) | | __/ | (_| | | | | (_| |
|_| \_\ \___| \__| |_| | .__/ \___| \__,_| |_| \__,_|
|_|
- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b
Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―
Webhook
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
top
Mit Webhooks (zusammengesetzt aus englisch Web βNetzβ und englisch Hook βHakenβ, zu deutsch etwa βNetz-Hakenβ) wird ein nicht-standardisiertes Verfahren zur Kommunikation von Servern bezeichnet, das im Rahmen des verteilten Rechnens oder der Nachrichtenorientierten Middleware genutzt wird. Webhooks ermΓΆglichen es, einer Server-Software mitzuteilen, dass ein bestimmtes Ereignis eingetreten ist und eine Reaktion auf das Ereignis auszulΓΆsen. Wenn eine Anwendung ΓΌber ein eingetretenes Ereignis mittels Webhook informiert, mΓΌssen an dem Ereignis interessierte andere Anwendungen kein Polling betreiben, um von dem Ereignis Kenntnis zu erlangen. Das reduziert das Nachrichtenaufkommen zwischen den Anwendungen.
Webhooks finden als einfaches Callback-Verfahren Verwendung zur Daten-Synchronisation, externen Berechnung und zur Datenvalidierung. Technisch wird dazu eine HTTP-POST-Message an eine dafΓΌr vorbereitete URL gesendet, welche die angeforderten Daten zurΓΌckliefert.cite-ref-webhooks-1-0[1] Im Gegensatz zu SOAP wird keine zusΓ€tzliche Transportschicht verwendet, im Unterschied zum Atom Syndication Format sind Webhooks nicht auf das XML-Format festgelegt.
Contents
β’ Anwendungen
β’ Spezifikationen
β’ Weblinks
β’ Einzelnachweise
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Authentifizierung
Sobald der Client (die Ursprungswebseite- oder Applikation) einen Webhook-Aufruf in Richtung des Benutzerservers auslΓΆst, sollte die eingehende POST-Anfrage authentifiziert werden, um Spoofing-Attacken zu verhindern. Ebenso sollte der Timestamp verifiziert werden, um eine Replay-Attacke auszuschlieΓen.cite-ref-2[2] Um dies sicherzustellen, gibt es verschiedene Methoden:
β’ HTTP Basic Authentication: Kann fΓΌr die Authentifizierung des Clients verwendet werden.cite-ref-3[3]
β’ FΓΌr die Verifizierung des Webhooks, kann dieser Informationen, wie ein Shared Secret, Digitale Signaturen oder den Typen des Events enthalten.cite-ref-4[4]
Anwendungsbeispiele
β’ Event-Notification (Benachrichtigung): Mitteilung, dass ein bestimmtes Event eingetreten ist
β’ Pipes: Weiterleitung von Daten. Beispielsweise erhΓ€lt ein Nutzer eine E-Mail-Benachrichtigung, wenn ein Foto zu einem bestimmten Thema hochgeladen wird.
Anwendungen
Webhooks werden unter anderem verwendet voncite-ref-webhooks-1-1[1]
β’ Cisco Webex Teams (frΓΌher Cisco Spark)
β’ Cisco Meraki
β’ Cloudvox
β’ Discord
β’ DRACOONcite-ref-6[6]
β’ Facebook
β’ Google Code
β’ GitLab
β’ PayPal
β’ Podio
β’ Pusher
β’ Synology
β’ Shopify
β’ Slack
β’ Twitch
β’ Webhook Centercite-ref-11[11]
Spezifikationen
Derzeit existiert kein Standard zur Implementierung. Es werden MΓΆglichkeiten einer Spezifikation auf Basis von REST-Mustern diskutiert.
Weblinks
β’ http://www.Webhooks.org/
β’ Verzeichnis von Webhooks auf Webhook Center
Einzelnachweise
cite-note-22. β Why Verify Webhooks. In: Svix Docs. Abgerufen am 9. Februar 2025 (englisch).
cite-note-33. β Docusign Connect Now Includes Basic Authentication Support. In: docusign.com. Abgerufen am 9. Februar 2025 (englisch).
cite-note-44. β Shared Secret - Docs. In: webhooks.fyi. Abgerufen am 9. Februar 2025 (englisch).
cite-note-55. β How to Secure Webhook Endpoints with HMAC. In: prismatic.io. Abgerufen am 9. Februar 2025 (englisch).
cite-note-66. β https://dracoon.com
cite-note-github-developer-webhooks-77. β GitHub Developer Webhooks API. Abgerufen am 8. Januar 2018.
cite-note-ifttt-webhook-88. β IFTTT Webhook. Abgerufen am 8. Januar 2018.
cite-note-telegram-bot-api-webhooks-access-99. β Telegram BotAPI WebHooks. Abgerufen am 8. Januar 2018.
cite-note-wordpress-webhooks-1010. β WordPress WebHooks. Abgerufen am 8. Januar 2018.
cite-note-1111. β https://webhook.center/